<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CANopenNode: extra/CO_trace.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">CANopenNode
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('CO__trace_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">CO_trace.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="CO__trace_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor">#ifndef CO_TRACE_H</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#define CO_TRACE_H</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160; </div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CO__driver_8h.html">301/CO_driver.h</a>&quot;</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="CO__SDOserver_8h.html">301/CO_SDOserver.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment">/* default configuration, see CO_config.h */</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="preprocessor">#ifndef CO_CONFIG_TRACE</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="preprocessor">#define CO_CONFIG_TRACE (0)</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#if ((CO_CONFIG_TRACE) &amp; CO_CONFIG_TRACE_ENABLE) || defined CO_DOXYGEN</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160; </div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;<span class="preprocessor">#ifndef OD_INDEX_TRACE_CONFIG</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="group__CO__trace.html#ga4edaf4c29180028f5f128f0aed2a417d">   70</a></span>&#160;<span class="preprocessor">#define OD_INDEX_TRACE_CONFIG   0x2301</span></div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;<span class="preprocessor">#define OD_INDEX_TRACE          0x2401</span></div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="structCO__trace__dataType__t.html">   78</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="structCO__trace__dataType__t.html#a8ac5cd02c39b591354149f8c5d6357f7">   80</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a> (*pGetValue) (<span class="keywordtype">void</span> *OD_variable);</div>
<div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structCO__trace__dataType__t.html#a751d9b94aba8f663de5b5f7c7f074893">   82</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> (*printPointStart)(<span class="keywordtype">char</span> *s, <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> size, <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> timeStamp, <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a> value);</div>
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="structCO__trace__dataType__t.html#aef2341fd443f3aa33a11db1b429b7dc1">   84</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> (*printPoint)(<span class="keywordtype">char</span> *s, <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> size, <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> timeStamp, <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a> value);</div>
<div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="structCO__trace__dataType__t.html#a48ec81e33885a9114f2ea0be237a0059">   86</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> (*printPointEnd)(<span class="keywordtype">char</span> *s, <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> size, <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> timeStamp, <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a> value);</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;} <a class="code" href="structCO__trace__dataType__t.html">CO_trace_dataType_t</a>;</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160; </div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="structCO__trace__t.html">   93</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#aefa5e9934aaac1f00d0a1866100dae50">   94</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a>              <a class="code" href="structCO__trace__t.html#aefa5e9934aaac1f00d0a1866100dae50">enabled</a>;        </div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#a33616f410feb93ddb6a2ac238027996b">   95</a></span>&#160;    CO_SDO_t           *<a class="code" href="structCO__trace__t.html#a33616f410feb93ddb6a2ac238027996b">SDO</a>;            </div>
<div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#a83806299bd57a23f5946f81cb05ab41d">   96</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>           *<a class="code" href="structCO__trace__t.html#a83806299bd57a23f5946f81cb05ab41d">timeBuffer</a>;     </div>
<div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#abc2f00a5f99453c77dd8515f3526e428">   97</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a>            *<a class="code" href="structCO__trace__t.html#abc2f00a5f99453c77dd8515f3526e428">valueBuffer</a>;    </div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#a3dfe996be2bef106f50de085a7f5ca9f">   98</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>            <a class="code" href="structCO__trace__t.html#a3dfe996be2bef106f50de085a7f5ca9f">bufferSize</a>;     </div>
<div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#ae3a556a180e38e7247b39b84de609b5d">   99</a></span>&#160;    <span class="keyword">volatile</span> <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>   <a class="code" href="structCO__trace__t.html#ae3a556a180e38e7247b39b84de609b5d">writePtr</a>;       </div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#af439eee35bf45f6ec14a32270577ff85">  100</a></span>&#160;    <span class="keyword">volatile</span> <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>   <a class="code" href="structCO__trace__t.html#af439eee35bf45f6ec14a32270577ff85">readPtr</a>;        </div>
<div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#af3ffa370f4b25a3c3fd27f9ce75379c0">  101</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>            <a class="code" href="structCO__trace__t.html#af3ffa370f4b25a3c3fd27f9ce75379c0">lastTimeStamp</a>;  </div>
<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#a2d71398a641edb4fe095aabb6e81f834">  102</a></span>&#160;    <span class="keywordtype">void</span>               *<a class="code" href="structCO__trace__t.html#a2d71398a641edb4fe095aabb6e81f834">OD_variable</a>;    </div>
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#a31e42b2511450377294475fcf0189d89">  103</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="structCO__trace__dataType__t.html">CO_trace_dataType_t</a> *<a class="code" href="structCO__trace__t.html#a31e42b2511450377294475fcf0189d89">dt</a>;      </div>
<div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#abe713136228c54327c1540b99a1a2fd1">  104</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a>             <a class="code" href="structCO__trace__t.html#abe713136228c54327c1540b99a1a2fd1">valuePrev</a>;      </div>
<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#ad6e329507a29f46b41ea6bef210b6502">  105</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>           *<a class="code" href="structCO__trace__t.html#ad6e329507a29f46b41ea6bef210b6502">map</a>;            </div>
<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#a3ea91e63f2c2f6c34b3ee1ae0f84e939">  106</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>            *<a class="code" href="structCO__trace__t.html#a3ea91e63f2c2f6c34b3ee1ae0f84e939">format</a>;         </div>
<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#a24fa467aeeb1581c6a3272bd397a2f10">  107</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a>            *<a class="code" href="structCO__trace__t.html#a24fa467aeeb1581c6a3272bd397a2f10">value</a>;          </div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#a0f1b287dae5b6a30b43f481d2bee41ab">  108</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a>            *<a class="code" href="structCO__trace__t.html#a0f1b287dae5b6a30b43f481d2bee41ab">minValue</a>;       </div>
<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#a7b41b99eb65d49fe522c25d08127f81d">  109</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a>            *<a class="code" href="structCO__trace__t.html#a7b41b99eb65d49fe522c25d08127f81d">maxValue</a>;       </div>
<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#a1b7176f0ad48679449a666c34fe45a3f">  110</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>           *<a class="code" href="structCO__trace__t.html#a1b7176f0ad48679449a666c34fe45a3f">triggerTime</a>;    </div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#a879f362c9d4a88de9e48d23c4d0c770c">  111</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>            *<a class="code" href="structCO__trace__t.html#a879f362c9d4a88de9e48d23c4d0c770c">trigger</a>;        </div>
<div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structCO__trace__t.html#a6400336e1207dcfa5fa8ef2a908fda08">  112</a></span>&#160;    <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a>            *<a class="code" href="structCO__trace__t.html#a6400336e1207dcfa5fa8ef2a908fda08">threshold</a>;      </div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;} <a class="code" href="structCO__trace__t.html">CO_trace_t</a>;</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__CO__trace.html#ga50621e5b8e28349f7caf260b6cf9962e">CO_trace_init</a>(</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        <a class="code" href="structCO__trace__t.html">CO_trace_t</a>             *trace,</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;        CO_SDO_t               *SDO,</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;        <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>                 enabled,</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>               *timeBuffer,</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a>                *valueBuffer,</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>                bufferSize,</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>               *map,</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>                *format,</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <a class="code" href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>                *trigger,</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a>                *threshold,</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a>                *value,</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a>                *minValue,</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        <a class="code" href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a>                *maxValue,</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a>               *triggerTime,</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;        <a class="code" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a>                idx_OD_traceConfig,</div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;        <a class="code" href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a>                idx_OD_trace);</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160; </div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160; </div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__CO__trace.html#ga5b8d9460d7a42920325cf66eb8b725ec">CO_trace_process</a>(<a class="code" href="structCO__trace__t.html">CO_trace_t</a> *trace, <a class="code" href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a> timestamp);</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160; <span class="comment">/* CO_trace */</span></div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160; </div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;<span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;}</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/*__cplusplus*/</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160; </div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* (CO_CONFIG_TRACE) &amp; CO_CONFIG_TRACE_ENABLE */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160; </div>
<div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* CO_TRACE_H */</span><span class="preprocessor"></span></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="agroup__CO__dataTypes_html_ga33594304e786b158f3fb30289278f5af"><div class="ttname"><a href="group__CO__dataTypes.html#ga33594304e786b158f3fb30289278f5af">uint32_t</a></div><div class="ttdeci">unsigned long int uint32_t</div><div class="ttdoc">UNSIGNED32 in CANopen (0007h), 32-bit unsigned integer.</div><div class="ttdef"><b>Definition:</b> CO_driver.h:155</div></div>
<div class="ttc" id="aCO__driver_8h_html"><div class="ttname"><a href="CO__driver_8h.html">CO_driver.h</a></div><div class="ttdoc">Interface between CAN hardware and CANopenNode.</div></div>
<div class="ttc" id="astructCO__trace__t_html"><div class="ttname"><a href="structCO__trace__t.html">CO_trace_t</a></div><div class="ttdoc">Trace object.</div><div class="ttdef"><b>Definition:</b> CO_trace.h:93</div></div>
<div class="ttc" id="astructCO__trace__t_html_a0f1b287dae5b6a30b43f481d2bee41ab"><div class="ttname"><a href="structCO__trace__t.html#a0f1b287dae5b6a30b43f481d2bee41ab">CO_trace_t::minValue</a></div><div class="ttdeci">int32_t * minValue</div><div class="ttdoc">From CO_trace_init().</div><div class="ttdef"><b>Definition:</b> CO_trace.h:108</div></div>
<div class="ttc" id="agroup__CO__dataTypes_html_ga1f1825b69244eb3ad2c7165ddc99c956"><div class="ttname"><a href="group__CO__dataTypes.html#ga1f1825b69244eb3ad2c7165ddc99c956">uint16_t</a></div><div class="ttdeci">unsigned int uint16_t</div><div class="ttdoc">UNSIGNED16 in CANopen (0006h), 16-bit unsigned integer.</div><div class="ttdef"><b>Definition:</b> CO_driver.h:153</div></div>
<div class="ttc" id="astructCO__trace__t_html_a1b7176f0ad48679449a666c34fe45a3f"><div class="ttname"><a href="structCO__trace__t.html#a1b7176f0ad48679449a666c34fe45a3f">CO_trace_t::triggerTime</a></div><div class="ttdeci">uint32_t * triggerTime</div><div class="ttdoc">From CO_trace_init().</div><div class="ttdef"><b>Definition:</b> CO_trace.h:110</div></div>
<div class="ttc" id="astructCO__trace__t_html_abe713136228c54327c1540b99a1a2fd1"><div class="ttname"><a href="structCO__trace__t.html#abe713136228c54327c1540b99a1a2fd1">CO_trace_t::valuePrev</a></div><div class="ttdeci">int32_t valuePrev</div><div class="ttdoc">Previous value of value.</div><div class="ttdef"><b>Definition:</b> CO_trace.h:104</div></div>
<div class="ttc" id="astructCO__trace__t_html_a83806299bd57a23f5946f81cb05ab41d"><div class="ttname"><a href="structCO__trace__t.html#a83806299bd57a23f5946f81cb05ab41d">CO_trace_t::timeBuffer</a></div><div class="ttdeci">uint32_t * timeBuffer</div><div class="ttdoc">From CO_trace_init().</div><div class="ttdef"><b>Definition:</b> CO_trace.h:96</div></div>
<div class="ttc" id="astructCO__trace__t_html_a3dfe996be2bef106f50de085a7f5ca9f"><div class="ttname"><a href="structCO__trace__t.html#a3dfe996be2bef106f50de085a7f5ca9f">CO_trace_t::bufferSize</a></div><div class="ttdeci">uint32_t bufferSize</div><div class="ttdoc">From CO_trace_init().</div><div class="ttdef"><b>Definition:</b> CO_trace.h:98</div></div>
<div class="ttc" id="agroup__CO__dataTypes_html_ga449976458a084f880dc8e3d29e7eb6f5"><div class="ttname"><a href="group__CO__dataTypes.html#ga449976458a084f880dc8e3d29e7eb6f5">bool_t</a></div><div class="ttdeci">unsigned char bool_t</div><div class="ttdoc">Boolean data type for general use.</div><div class="ttdef"><b>Definition:</b> CO_driver.h:141</div></div>
<div class="ttc" id="agroup__CO__dataTypes_html_gadb828ef50c2dbb783109824e94cf6c47"><div class="ttname"><a href="group__CO__dataTypes.html#gadb828ef50c2dbb783109824e94cf6c47">int32_t</a></div><div class="ttdeci">signed long int int32_t</div><div class="ttdoc">INTEGER32 in CANopen (0004h), 32-bit signed integer.</div><div class="ttdef"><b>Definition:</b> CO_driver.h:147</div></div>
<div class="ttc" id="astructCO__trace__t_html_a3ea91e63f2c2f6c34b3ee1ae0f84e939"><div class="ttname"><a href="structCO__trace__t.html#a3ea91e63f2c2f6c34b3ee1ae0f84e939">CO_trace_t::format</a></div><div class="ttdeci">uint8_t * format</div><div class="ttdoc">From CO_trace_init().</div><div class="ttdef"><b>Definition:</b> CO_trace.h:106</div></div>
<div class="ttc" id="astructCO__trace__t_html_a6400336e1207dcfa5fa8ef2a908fda08"><div class="ttname"><a href="structCO__trace__t.html#a6400336e1207dcfa5fa8ef2a908fda08">CO_trace_t::threshold</a></div><div class="ttdeci">int32_t * threshold</div><div class="ttdoc">From CO_trace_init().</div><div class="ttdef"><b>Definition:</b> CO_trace.h:112</div></div>
<div class="ttc" id="astructCO__trace__t_html_ae3a556a180e38e7247b39b84de609b5d"><div class="ttname"><a href="structCO__trace__t.html#ae3a556a180e38e7247b39b84de609b5d">CO_trace_t::writePtr</a></div><div class="ttdeci">volatile uint32_t writePtr</div><div class="ttdoc">Location in buffer, which will be next written.</div><div class="ttdef"><b>Definition:</b> CO_trace.h:99</div></div>
<div class="ttc" id="aCO__SDOserver_8h_html"><div class="ttname"><a href="CO__SDOserver_8h.html">CO_SDOserver.h</a></div><div class="ttdoc">CANopen Service Data Object - server protocol.</div></div>
<div class="ttc" id="astructCO__trace__t_html_af3ffa370f4b25a3c3fd27f9ce75379c0"><div class="ttname"><a href="structCO__trace__t.html#af3ffa370f4b25a3c3fd27f9ce75379c0">CO_trace_t::lastTimeStamp</a></div><div class="ttdeci">uint32_t lastTimeStamp</div><div class="ttdoc">Last time stamp.</div><div class="ttdef"><b>Definition:</b> CO_trace.h:101</div></div>
<div class="ttc" id="astructCO__trace__t_html_a2d71398a641edb4fe095aabb6e81f834"><div class="ttname"><a href="structCO__trace__t.html#a2d71398a641edb4fe095aabb6e81f834">CO_trace_t::OD_variable</a></div><div class="ttdeci">void * OD_variable</div><div class="ttdoc">Pointer to variable, which is monitored.</div><div class="ttdef"><b>Definition:</b> CO_trace.h:102</div></div>
<div class="ttc" id="astructCO__trace__t_html_a33616f410feb93ddb6a2ac238027996b"><div class="ttname"><a href="structCO__trace__t.html#a33616f410feb93ddb6a2ac238027996b">CO_trace_t::SDO</a></div><div class="ttdeci">CO_SDO_t * SDO</div><div class="ttdoc">From CO_trace_init().</div><div class="ttdef"><b>Definition:</b> CO_trace.h:95</div></div>
<div class="ttc" id="astructCO__trace__dataType__t_html"><div class="ttname"><a href="structCO__trace__dataType__t.html">CO_trace_dataType_t</a></div><div class="ttdoc">structure for reading variables and printing points for specific data type.</div><div class="ttdef"><b>Definition:</b> CO_trace.h:78</div></div>
<div class="ttc" id="astructCO__trace__t_html_af439eee35bf45f6ec14a32270577ff85"><div class="ttname"><a href="structCO__trace__t.html#af439eee35bf45f6ec14a32270577ff85">CO_trace_t::readPtr</a></div><div class="ttdeci">volatile uint32_t readPtr</div><div class="ttdoc">Location in buffer, which will be next read.</div><div class="ttdef"><b>Definition:</b> CO_trace.h:100</div></div>
<div class="ttc" id="agroup__CO__trace_html_ga50621e5b8e28349f7caf260b6cf9962e"><div class="ttname"><a href="group__CO__trace.html#ga50621e5b8e28349f7caf260b6cf9962e">CO_trace_init</a></div><div class="ttdeci">void CO_trace_init(CO_trace_t *trace, CO_SDO_t *SDO, uint8_t enabled, uint32_t *timeBuffer, int32_t *valueBuffer, uint32_t bufferSize, uint32_t *map, uint8_t *format, uint8_t *trigger, int32_t *threshold, int32_t *value, int32_t *minValue, int32_t *maxValue, uint32_t *triggerTime, uint16_t idx_OD_traceConfig, uint16_t idx_OD_trace)</div><div class="ttdoc">Initialize trace object.</div></div>
<div class="ttc" id="astructCO__trace__t_html_a24fa467aeeb1581c6a3272bd397a2f10"><div class="ttname"><a href="structCO__trace__t.html#a24fa467aeeb1581c6a3272bd397a2f10">CO_trace_t::value</a></div><div class="ttdeci">int32_t * value</div><div class="ttdoc">From CO_trace_init().</div><div class="ttdef"><b>Definition:</b> CO_trace.h:107</div></div>
<div class="ttc" id="astructCO__trace__t_html_aefa5e9934aaac1f00d0a1866100dae50"><div class="ttname"><a href="structCO__trace__t.html#aefa5e9934aaac1f00d0a1866100dae50">CO_trace_t::enabled</a></div><div class="ttdeci">bool_t enabled</div><div class="ttdoc">True, if trace is enabled.</div><div class="ttdef"><b>Definition:</b> CO_trace.h:94</div></div>
<div class="ttc" id="astructCO__trace__t_html_ad6e329507a29f46b41ea6bef210b6502"><div class="ttname"><a href="structCO__trace__t.html#ad6e329507a29f46b41ea6bef210b6502">CO_trace_t::map</a></div><div class="ttdeci">uint32_t * map</div><div class="ttdoc">From CO_trace_init().</div><div class="ttdef"><b>Definition:</b> CO_trace.h:105</div></div>
<div class="ttc" id="astructCO__trace__t_html_a7b41b99eb65d49fe522c25d08127f81d"><div class="ttname"><a href="structCO__trace__t.html#a7b41b99eb65d49fe522c25d08127f81d">CO_trace_t::maxValue</a></div><div class="ttdeci">int32_t * maxValue</div><div class="ttdoc">From CO_trace_init().</div><div class="ttdef"><b>Definition:</b> CO_trace.h:109</div></div>
<div class="ttc" id="astructCO__trace__t_html_a879f362c9d4a88de9e48d23c4d0c770c"><div class="ttname"><a href="structCO__trace__t.html#a879f362c9d4a88de9e48d23c4d0c770c">CO_trace_t::trigger</a></div><div class="ttdeci">uint8_t * trigger</div><div class="ttdoc">From CO_trace_init().</div><div class="ttdef"><b>Definition:</b> CO_trace.h:111</div></div>
<div class="ttc" id="agroup__CO__trace_html_ga5b8d9460d7a42920325cf66eb8b725ec"><div class="ttname"><a href="group__CO__trace.html#ga5b8d9460d7a42920325cf66eb8b725ec">CO_trace_process</a></div><div class="ttdeci">void CO_trace_process(CO_trace_t *trace, uint32_t timestamp)</div><div class="ttdoc">Process trace object.</div></div>
<div class="ttc" id="astructCO__trace__t_html_a31e42b2511450377294475fcf0189d89"><div class="ttname"><a href="structCO__trace__t.html#a31e42b2511450377294475fcf0189d89">CO_trace_t::dt</a></div><div class="ttdeci">const CO_trace_dataType_t * dt</div><div class="ttdoc">Data type specific function pointers.</div><div class="ttdef"><b>Definition:</b> CO_trace.h:103</div></div>
<div class="ttc" id="agroup__CO__dataTypes_html_gaba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="group__CO__dataTypes.html#gaba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdoc">UNSIGNED8 in CANopen (0005h), 8-bit unsigned integer.</div><div class="ttdef"><b>Definition:</b> CO_driver.h:151</div></div>
<div class="ttc" id="astructCO__trace__t_html_abc2f00a5f99453c77dd8515f3526e428"><div class="ttname"><a href="structCO__trace__t.html#abc2f00a5f99453c77dd8515f3526e428">CO_trace_t::valueBuffer</a></div><div class="ttdeci">int32_t * valueBuffer</div><div class="ttdoc">From CO_trace_init().</div><div class="ttdef"><b>Definition:</b> CO_trace.h:97</div></div>
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_61725470c0c4ad532abb3cb1e156c123.html">extra</a></li><li class="navelem"><a class="el" href="CO__trace_8h.html">CO_trace.h</a></li>
    <li class="footer">Generated on Thu Dec 24 2020 14:30:50 for CANopenNode by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
